TensorFlow 2.2.0-rc0 现已发布
我们在今天凌晨的 TensorFlow 开发者峰会上发布了 TensorFlow 2.2 版。
相较于去年同样在峰会上发布的 2.0,TensorFlow 2.2 有了很大的进步,我们聚焦于 TensorFlow Core 性能提升,在保证易于进行性能评估的同时保证评估的一致性。我们还提供了新的评估工具 Performance Profiler,希望您能够喜欢。
TensorFlow 2.2.0 主要功能和改进
替换了字符串张量的标量类型,从 std::string 换为 tensorflow::tstring,后者的 ABI 更稳定。
为 TF 2 提供了新的性能分析工具 Performance Profiler,适用于 CPU / GPU / TPU。可对设备和主机的性能进行分析,这其中包括输入流水线和 TF 算子,并提供优化建议。请参阅 本教程 提供的使用指南。
使用pybind11
替代 SWIG 作为将 C ++ 函数导出到 Python 的工具,这也是我们 SWIG 弃用计划的一部分。
tf.distribute:
新增
tf.keras.layers.experimental.SyncBatchNormalization
层。使用该层可实现对全局同步 BatchNormalization 的支持。该层将在参与同步训练的所有副本之间同步 BatchNormalization 的统计信息。提升了tf.distribute.experimental.MultiWorkerMirroredStrategy 在 GPU 多 Worker 分布式训练时的性能。 NVIDIA NCCL 更新至 2.5.7-1,以获得更好的性能和性能调优。请参阅 NCCL 开发者指南, 以获取更多信息。 支持在 float16 格式下进行梯度 AllReduce。用法参见此示例 。 实验功能:支持对 AllReduce 操作进行分包, 以允许重叠的梯度聚合和反向路径计算。
tf.keras:
Model.fit 模块的主要改进: 现在,您可以通过重写 Model.train_step 在 Model.fit 中实现自定义训练逻辑。 轻松编写 SOTA (state-of-the-art) 训练循环而不必担心其他事情。Model.fit为您处理余下的所有(分发策略,回调,数据格式,循环逻辑等)。 请阅读默认的 Model.train_step 模块的源码,以此为例学习如何编写该函数。 上述新功能同样适用于用于验证的 Model.test_step 模块和用于推理的 Model.predict_step 模块。 SavedModel 格式现在支持 Keras 所有的内置层(包括矩阵,预处理层和有状态的 RNN 层)
默认情况下启用 TFLite 实验性新转换器。
XLA 现在可以在 Windows 上构建并运行。所有预构建的软件包都随附有 XLA。 XLA 现在可以启用一个 tf.function,在 CPU 和 GPU 上实现“编译或抛出异常”的语义。
YT 频道
https://www.youtube.com/watch?v=HlBGYxO8RaUBilibili 频道:Google 中国
https://live.bilibili.com/1317
如果您想详细了解 本文提及 的相关内容,请参阅以下文档。这些文档深入探讨了这篇文章中提及的许多主题:
Performance Profiler
https://tensorflow.google.cn/tensorboard/tensorboard_profiling_keras本教程
https://tensorflow.google.cn/tensorboard/tensorboard_profiling_kerasSWIG 弃用计划
https://github.com/tensorflow/community/blob/master/rfcs/20190208-pybind11.mdNCCL 开发者指南
https://docs.nvidia.com/deeplearning/sdk/nccl-developer-guide/docs/env.html示例
https://github.com/tensorflow/models/blob/master/official/staging/training/grad_utils.pyAllReduce 分包
https://tensorflow.google.cn/api_docs/python/tf/distribute/experimental/CollectiveHintsModel.train_step
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/keras/engine/training.py#L433启用 tf.function
https://tensorflow.google.cn/xla#explicit_compilation_with_tffunction